02 BMC - 更好地管理数据中心服务器
BMC 是什么
- BMC,英文全称为 Baseboard Management Controller,译为基板管理控制器。
- BMC 是一种独立于主处理器的嵌入式控制器,通常位于服务器主板上。
- BMC 的主要作用是监控和管理服务器硬件,包括处理器、内存、硬盘、电源等,以及提供远程管理功能,例如远程控制台、远程电源控制和传感器读取等。
- 远程控制台
- 可用于服务器 BIOS 设置、系统安装等场景
- 不再需要(通常情况下也不允许)跑到机房进行如上操作
- 远程电源控制:适用于部分需要冷重启的场景
- 远程控制台

BMC 主要功能
BMC 提供了一系列用于管理和监控服务器硬件的功能,包括:
- 硬件监控:
- 实时监控服务器硬件的状态,如温度、风扇速度、电压、电流等。
- 监控服务器的运行状况,检测硬件故障,并记录相关事件日志。
- 远程管理:
- 提供远程电源控制功能,如开机、关机、重启等。
- 通过远程控制台访问服务器,即使操作系统不可用时,也能访问系统。
- 固件更新:支持远程更新服务器固件,包括 BIOS 和 BMC 自身的固件。
- KVM-over-IP(键盘、视频、鼠标):允许通过网络远程访问服务器的键盘、视频和鼠标,提供类似于直接物理访问的体验。
- 传感器管理:管理和读取系统内各种传感器的数据,提供系统健康状态的详细信息。
- 日志记录:BMC 能够记录服务器的各种事件,如硬件故障、电源故障等,方便管理员进行故障排查。
BMC 的组件
BMC 包括多个硬件和软件组件:
- 微控制器:BMC 核心是一个专用的微控制器,负责执行管理和监控任务。
- 固件:BMC 的固件提供了管理和监控功能的实现,包括 IPMI(Intelligent Platform Management Interface)协议的支持。
- 网络接口:BMC 通常具有一个独立的网络接口,允许管理员通过网络进行远程管理。
- 传感器:系统中的传感器连接到 BMC,用于监控系统的各种物理参数。
BMC 工作原理
BMC 通常与服务器主板集成,通过总线(如 I2C)与系统的其他组件进行通信。它运行在独立于操作系统的环境中,因此即使操作系统崩溃或服务器关机,BMC 仍然能够正常工作。BMC 通过以下步骤进行管理和监控:
- 传感器数据采集:BMC 定期采集系统传感器的数据,如温度、电压等。
- 数据分析和处理:BMC 分析传感器数据,检测是否存在异常或故障。
- 事件记录和报警:如果检测到异常,BMC 会记录事件日志,并根据配置发送报警通知。
- 远程访问和控制:管理员通过网络接口远程访问 BMC,执行管理任务和获取系统状态信息。
- 独立运行:BMC 是一个独立的硬件模块,它有自己的 CPU、内存、闪存和网络接口,不依赖于主机的操作系统。
- 网络通信:BMC 通过 IP 网络与其他系统通信,通常使用标准协议,如 IPMI(Intelligent Platform Management Interface)。
- 接口支持:BMC 支持多种接口,如 RS-232、Lan、USB 等,用于与外部设备通信。
- 安全认证:BMC 具备安全认证机制,如用户权限管理、加密通信等,确保远程管理的安全性。
BMC 优势
- 提高系统可管理性:提供远程管理和监控功能,简化了系统维护和故障排除过程。
- 提高系统可靠性:实时监控系统硬件状态,及早发现和处理潜在问题,减少系统停机时间。
- 独立于操作系统:BMC 独立于操作系统运行,即使操作系统崩溃,管理功能仍然可用。
BMC 应用
BMC 广泛应用于数据中心和高可用性服务器环境中,尤其是在以下场景中:
- 远程服务器管理:数据中心管理员可以通过 BMC 远程管理大量服务器,减少物理访问需求。
- 系统监控和维护:实时监控系统健康状态,及时处理硬件故障,提高系统稳定性和可靠性。
- 固件更新和配置管理:远程更新和配置服务器固件,简化维护过程。
- 数据中心管理:在大型数据中心,BMC 用于实现对大量服务器的集中监控和管理。
- 远程办公:对于分布式办公环境,BMC 可以帮助管理员远程维护服务器。
- 服务器维护:在服务器出现故障时,BMC 可以协助管理员进行远程诊断和修复。
常见标准/集成管理工具
- IPMI:智能平台管理接口,是 BMC 的一种实现标准,定义了 BMC 与外部系统之间的通信协议。
- DMTF:分布式管理任务组,负责制定服务器管理标准,如 Redfish,是新一代的 BMC 管理接口。
IPMI (Intelligent Platform Management Interface)
IPMI 是由 Intel、Dell、HP 和 NEC 等公司制定的开放标准,用于实现 BMC 的管理和监控功能。IPMI 提供了一组标准的接口和命令,用于与 BMC 进行通信。主要功能包括:
- 系统健康监控:通过传感器数据监控系统的健康状况。
- 事件日志记录:记录系统运行期间的各种事件,如硬件故障和警报。
- 远程控制:提供远程电源管理和控制功能。
为什么数据中心服务器要有 BMC
归因于数据中心服务器的要求:
- 大容量存储:多盘位设置等;
- 高性能:多处理器设计等
- 可靠性:双电源设计等;
- 可管理性:平台管理 BMC等;
- ……